import { usersGetbyid, usersLogin } from '@/API/user.api'
import { IUser } from '@/types/user.type'
import { Module } from 'vuex'
import router from '@/router';
type usertype = {
    // token: string
    // role: string
    userInfo:IUser,
}

const userModule: Module<usertype, any> = {
    namespaced: true,//立即执行
    // 从本地取数据
    state: {
        userInfo:null,
    },
    mutations: {
        // 改变登录的数据
        M_userinfo(state, payload) {
            localStorage.setItem('userInfo', JSON.stringify(payload))
            state.userInfo = payload
        },
        // 退出
        M_loginOut(state,payload){
            state.userInfo = null,
            localStorage.clear()
        },
    },
    actions: {
        // 登录，写异步代码通过提交mutation（commit）
        // payload,调接口请求的参数
        // async函数，始终都返回一个promise

        async A_login({ commit }, payload) {
            console.log(commit);
            const res = await usersLogin(payload)
            // console.log(res);
            // 判断用户是否登录成功
            if (res.data.code === 1) {
                commit('M_userinfo', res.data)
            } else {
                // 直接在这里
                return res.data.msg
            }
        }
       
    }
}
export default userModule